package com.fan.demo02;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

//@Configuration
// 如果@Import注解中指定的类实现了 ImportSelector 接口，那么不会将该类注入到容器中，
// 而是将类重写的 selectImports 方法返回的信息对应的对象添加到容器中
//@Import(MyImportSelector.class)

// 如果@Import注解中指定的类型实现了 ImportBeanDefinitionRegistrar 接口， 那么不会将该类注入到容器中，
// 同时会将对象的注册器传递给重写的方法，使用该注册器可以直接将指定的bean对象注册到容器中
//@Import(MyImportBeanDefinitionRegistrar.class)
public class JavaConfig {

    public static void main(String[] args) {
        AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(JavaConfig.class);
        for (String beanDefinitionName : ac.getBeanDefinitionNames()) {
            System.out.println("beanDefinitionName = " + beanDefinitionName);
        }
    }
}
